// 登录请求
export interface LoginRequest {
  username: string
  password: string
  remember?: boolean
  captcha?: string
  captchaKey?: string
}

// 登录响应
export interface LoginResponse {
  token: string
  refreshToken: string
  tokenType: string
  expiresIn: number
  userInfo?: UserInfo
}

// 用户信息
export interface UserInfo {
  id: string
  username: string
  email: string
  name: string
  surname?: string
  phoneNumber?: string
  avatar?: string
  isActive: boolean
  emailConfirmed: boolean
  phoneNumberConfirmed: boolean
  twoFactorEnabled: boolean
  roles: string[]
  permissions: string[]
  tenantId?: string
  tenantName?: string
  creationTime: string
  lastLoginTime?: string
  properties?: Record<string, any>
}

// 注册请求
export interface RegisterRequest {
  username: string
  email: string
  password: string
  confirmPassword: string
  name: string
  surname?: string
  phoneNumber?: string
  agreementAccepted: boolean
  captcha?: string
  captchaKey?: string
}

// 重置密码请求
export interface ResetPasswordRequest {
  email: string
  captcha?: string
  captchaKey?: string
}

// 修改密码请求
export interface ChangePasswordRequest {
  currentPassword: string
  newPassword: string
  confirmPassword: string
}

// 更新用户资料请求
export interface UpdateProfileRequest {
  name: string
  surname?: string
  phoneNumber?: string
  avatar?: string
  properties?: Record<string, any>
}